Paradigm(s) | Object-oriented, structured, imperative |
---|---|
Appeared in | 2002 |
Developer | Microsoft |
Stable release | v2.0 Second Edition (18 May 2007 | )
Influenced by | Java and Visual J++ |
Platform | .NET Framework |
Visual J# (pronounced 'jay-sharp') programming language is a discontinued transitional language for programmers of Java and Visual J++ languages, so they may use their existing knowledge and applications on .NET Framework.
In programming, J# can work with Java bytecode as well as source so it can be used to transition applications that use third-party libraries even if their original source code is unavailable. It was developed by the Hyderabad-based Microsoft India Development Center at HITEC City in India.[1]
Contents |
Java and J# use the same general syntax but there are non-Java conventions in J# to support the .NET environment. For example, to use .NET "properties" with a standard JavaBean class, it is necessary to prefix getXxx and setXxx methods with the Javadoc-like annotation:
/** @beanproperty */
...and change the corresponding private variable name to be different from the suffix of the getXxx/setXxx names.
J# does not compile Java-language source code to Java bytecode (.class files), and does not support Java applet development or the ability to host applets directly in a web browser, although it does provide a wrapper called Microsoft J# Browser Controls for hosting them as ActiveX objects. Finally, Java Native Interface (JNI) and Raw Native Interface (RNI) are substituted with P/Invoke; J# does not support Remote Method Invocation (RMI).
J#'s interface to the .NET framework is solid, but not as seamless as C#. In particular, J# code cannot define new .NET attributes, events, value types, or delegates. J# can make use of these language constructs if they are defined in an assembly written in another language, but its inability to define new ones limits J#'s reach and interoperability compared to other .NET languages.
J# is generally not considered to be a language on par with C# or Visual Basic .NET, and does not have the same level of support, samples, or updates as the other languages do. This fact notwithstanding, J# is a usable .NET language and has access to most of the Common Language Runtime (CLR) features.
The Microsoft J# product team made two important announcements on the future of J# in January 2007:[2]
A link to download Visual J# 2005 Express Edition is no longer available from Microsoft's website; however, the old link which was previously available is still valid.[5]
|